package com.xiaochen.baidu.service.factory;

import com.xiaochen.baidu.common.design.link.BusinessLinkedList;
import com.xiaochen.baidu.common.design.link.LinkArmory;
import com.xiaochen.baidu.common.design.strategy.StrategyHandler;
import com.xiaochen.baidu.model.entity.RuleCommandEntity;
import com.xiaochen.baidu.service.filter.LoginFilter;
import com.xiaochen.baidu.service.filter.ParseFilter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;

/**
 * @author xc
 * @date 2025/10/11/22:18
 * @desc
 */
@Service
public class DefaultRuleFilterFactory {
    
    @Bean
    public BusinessLinkedList<RuleCommandEntity, RuleDynamicContext, StrategyHandler> ruleFilter(
            LoginFilter loginFilter,
            ParseFilter parseFilter){
        return new LinkArmory<>(loginFilter, parseFilter).getBusinessLinkedList();
    }    
    @Data
    @Builder
    @NoArgsConstructor
    public static class RuleDynamicContext {
    }
}
